package org.example.serivce;

import com.github.pagehelper.PageInfo;
import org.example.bean.GoodsBean;

import java.time.LocalDate;
import java.util.List;

public interface IGoodsService {
    /**
     * 商品添加
     * @param goods 商品实例
     */
    public void add(GoodsBean goods);

    /**
     * 按id删除商品
     * @param id 要删除的商的id
     */
    public void del(Integer id);

    /**
     * 按id修改价格
     * @param id 商品id
     * @param newPrice 新价格
     */
    public void update(Integer id,Integer newPrice);

    /**
     * 按商品名、价格范围动态条件分页查询商品
     * @param name 商品名
     * @param minPrice 最低价格
     * @param maxPrice 最高价格
     * @return  商品集合
     */
    public PageInfo<GoodsBean> selectByNamePrice(Integer pageNum,String name, Integer minPrice, Integer maxPrice);

    /**
     * 按厂家、生产时间段动态条件分页查询
     * @param factory 生产厂家
     * @param starDate 开始时间
     * @param endDate 结束时间
     * @return 商品集合
     */
    public PageInfo<GoodsBean> selectByFactoryDate(Integer pageNum,String factory, LocalDate starDate, LocalDate endDate);

    /**
     * 批量添加
     * @param list 添加商品列表
     */
    public void addMore(List<GoodsBean> list);

    /**
     * 批量删除
     * @param idArray 要删除的商品id的数组
     */
    public void delMore(int[] idArray);

}
